home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / eaitinfo.lsp < prev    next >
Text File  |  1998-03-15  |  12KB  |  287 lines

  1. ;L ang   K urz   S orte
  2.  
  3. (defun EAITinf (AIT_mo / AIT-eb AIT-nr AIT-x)
  4.   (EAITmsg "mb_mld1" "\n\n" "022" nil)
  5.   (EAITvari)
  6.   (EAITvars)
  7.   (setq AIT-eb (car (entsel " ")))
  8.   (if (and (/= AIT-eb nil)(= (EAITdxf 0 (entget AIT-eb)) "INSERT"))
  9.     (if (OR (= (EAITdxf 2 (entget AIT-eb)) "EAITINFO")(= (EAITdxf 2 (entget AIT-eb)) "MB-INFO"))
  10.       ;2D-Info-Punkt
  11.       (progn
  12.         (setq AIT-nr (EAITdxf 1 (entget (entnext(entnext(entnext(entnext(entnext(entnext(entnext(entnext(entnext AIT-eb)))))))))))
  13.               AIT-nr (substr AIT-nr 1 (- (strlen AIT-nr) 5))
  14.               AIT-nr (strcat (substr "00000000" 1 (- 7 (strlen AIT-nr))) AIT-nr)
  15.         )
  16. ;        (if (findfile (strcat EAITpfn "dat/" AIT-nr ".dat"))
  17.         (if (findfile (strcat EAITpfd AIT-nr ".dat"))
  18.           (EAITIfo AIT_mo AIT-eb AIT-nr "2D")
  19.           (progn                    
  20.                (if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem"))) 0)
  21.                        (exit)
  22.                )
  23.                (new_dialog "no_item" dcl_id)
  24.                (start_dialog)
  25.                (unload_dialog dcl_id)
  26.           )
  27.         )
  28.       )
  29.       (progn
  30.         ;3D-Struktur vorhanden?
  31.         (setq AIT-x "X")
  32.         ;Index-Element? -> Hauptelement selektieren
  33.         (if (entnext AIT-eb)
  34.                (if (and (= (EAITdxf 0 (entget (entnext AIT-eb))) "ATTRIB")(= (EAITdxf 2 (entget (entnext AIT-eb))) "EAIT3D_REF"))
  35.                    (progn
  36.                      (setq AIT-eb (EAIThb AIT-eb))
  37.                      (if (entnext AIT-eb)
  38.                          (if (and (= (EAITdxf 0 (entget (entnext AIT-eb))) "ATTRIB")(= (EAITdxf 2 (entget (entnext AIT-eb))) "EAIT3D_REF")) (setq AIT-x nil))
  39.                          (setq AIT-x nil)
  40.                      )
  41.                    )
  42.                )
  43.         )
  44.         ;Haupt-Element?
  45.         (if (and AIT-x (entnext AIT-eb))
  46.             (if (entnext(entnext AIT-eb))
  47.                 (if (entnext(entnext(entnext AIT-eb)))(setq AIT-x "X")(princ))
  48.                 (setq AIT-x nil)
  49.             )
  50.             (setq AIT-x nil)
  51.         )
  52.         ;3D-Element
  53.         (if AIT-x
  54.           (progn
  55.             (setq AIT-nr (EAITdxf 1 (entget (entnext(entnext(entnext AIT-eb))))) )
  56.             (if (and (/= AIT-nr nil) (findfile (strcat EAITpfd AIT-nr ".dat")))
  57.               (EAITIfo AIT_mo AIT-eb AIT-nr "3D")
  58.               (progn
  59.                (if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem"))) 0)
  60.                        (exit)
  61.                )
  62.                (new_dialog "no_item" dcl_id)
  63.                (start_dialog)
  64.                (unload_dialog dcl_id)
  65.               )
  66.             )
  67.           )
  68.           (progn
  69.                (if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem"))) 0)
  70.                        (exit)
  71.                )
  72.                (new_dialog "no_item" dcl_id)
  73.                (start_dialog)
  74.                (unload_dialog dcl_id)
  75.           )
  76.  
  77.         )
  78.       )
  79.     )
  80.     (progn
  81.                (if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem"))) 0)
  82.                        (exit)
  83.                )
  84.                (new_dialog "no_item" dcl_id)
  85.                (start_dialog)
  86.                (unload_dialog dcl_id)
  87.     )
  88.   )
  89.   (EAITvarz)
  90.   (princ)
  91. )
  92.  
  93.  
  94. ;Daten anzeigen
  95. (defun EAITIfo (AIT_mo AIT_ebx AIT_nr AIT_23d / AIT-po AIT-e AIT-b1 AIT-b2
  96.                                                 AIT-l1 AIT-l2 AIT-w1 AIT-w2 AIT-verb
  97.                                                 AIT-l AIT-b AIT-gw AIT-ebx AIT-n)
  98.   (EAITdbl AIT_nr)
  99.   (if EAITnrx
  100.     (progn
  101.       (setq AIT_nr (strcat (substr EAITnrx 1 1) "." (substr EAITnrx 2 1) "." (substr EAITnrx 3 3) "." (substr EAITnrx 6 2) )
  102.             AIT-e AIT_ebx)
  103.       (if (= AIT_23d "3D")
  104.           (setq AIT-po (EAITdxf 1 (entget (entnext AIT-e)))
  105.                 AIT-e (entnext(entnext(entnext AIT-e)))
  106.           )
  107.           (setq AIT-po "0")
  108.       )
  109.       (if (not AIT-po)(setq AIT-po "0"))
  110.  
  111.       (setq AIT-b1 (EAITdxf 1 (entget (entnext AIT-e)))
  112.             AIT-e (entnext AIT-e)
  113.             AIT-b2 (EAITdxf 1 (entget (entnext AIT-e)))
  114.             AIT-e (entnext AIT-e)
  115.             AIT-l1 (EAITdxf 1 (entget (entnext AIT-e)))
  116.             AIT-e (entnext AIT-e)
  117.             AIT-l2 (EAITdxf 1 (entget (entnext AIT-e)))
  118.             AIT-e (entnext AIT-e)
  119.             AIT-w1 (EAITdxf 1 (entget (entnext AIT-e)))
  120.             AIT-e (entnext AIT-e)
  121.             AIT-w2 (EAITdxf 1 (entget (entnext AIT-e)))
  122.             AIT-e (entnext AIT-e)
  123.             AIT-l (atof (EAITdxf 1 (entget (entnext AIT-e))))
  124.             AIT-e (entnext AIT-e)
  125.             AIT-b (atof (EAITdxf 1 (entget (entnext AIT-e))))
  126.             AIT-e (entnext(entnext AIT-e))
  127.             AIT-verb (EAITdxf 1 (entget (entnext AIT-e)))
  128.       )
  129.       (if (or (= AIT-verb "0")(= AIT-verb nil))(setq AIT-verb ""))
  130.       (cond ((= EAITme "m") (setq AIT-gw (* EAITgew (/ AIT-l 1000))))
  131.             ((= EAITme "qm")(setq AIT-gw (* EAITgew (/ AIT-l 1000)(/ AIT-b 1000))))
  132.             (T              (setq AIT-gw EAITgew))
  133.       )
  134.       (setq AIT-gw (/ (float (fix (+ (* AIT-gw 100.0) 0.5))) 100));2. Nachkommastellen
  135.       (setq AIT-gwstr (rtos AIT-gw 2 2))
  136.       (cond ((= AIT_mo "K")
  137.              (progn
  138.                (if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem"))) 0)
  139.                        (exit)
  140.                )
  141.                (new_dialog "mb_element_k" dcl_id)
  142.                
  143.                (set_tile "Meldung10" (strcat (EAITmg "mb_mld1" "026") AIT-b1))
  144.                (if (> AIT-b2 " ")(set_tile "Meldung11"  (strcat "                  " AIT-b2)))
  145.                
  146.  
  147.                (if (/= AIT-l 0.0)
  148.                    (if (/= AIT-b 0.0)
  149.                        (progn 
  150.                          (setq 
  151.                                AIT-bstr (rtos AIT-b 2 1)
  152.                                AIT-lstr (rtos AIT-l 2 1)
  153.                                AIT-ges1 (strcat AIT-lstr " / " AIT-bstr " mm") 
  154.                          )      
  155.                          (set_tile "Meldung12" (strcat (EAITmg "mb_mld1" "030") AIT-ges1))
  156.                          )
  157.                        (progn 
  158.                           (setq
  159.                             AIT-lstr (rtos AIT-l 2 1)
  160.                           )
  161.                           (set_tile "Meldung12" (strcat (EAITmg "mb_mld1" "029") AIT-lstr " mm"))
  162.                      )
  163.                    )
  164.                )
  165.                (set_tile "Meldung13" (strcat (EAITmg "mb_mld1" "031") AIT-gwstr " kg"))
  166.                (set_tile "Meldung14" (strcat (EAITmg "mb_mld1" "027") AIT-w1 ))
  167.                (set_tile "Meldung15" (strcat "                  " AIT-w2))
  168.                (set_tile "Meldung16" (strcat (EAITmg "mb_mld1" "033") AIT_nr))
  169.  
  170.                (start_dialog)
  171.                (unload_dialog dcl_id)
  172.              
  173.              )
  174.             )
  175.             ((= AIT_mo "L")
  176.              (progn
  177.                ;Anzahl der Elemente anzeigen
  178.                (redraw AIT_ebx 3)
  179.  
  180.                (if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem"))) 0)
  181.                        (exit)
  182.                )
  183.                (new_dialog "info_lang" dcl_id)
  184.        
  185.                (seitenanzeige)
  186.                (start_list "l_anzeige" 3)
  187.                (mapcar 'add_list EAIT-eigenlist)
  188.                (end_list)
  189.                (start_dialog)
  190.                (unload_dialog dcl_id)
  191.        
  192.                (redraw AIT_ebx 4)
  193.              )
  194.             )
  195.             (T (setq AIT-ebx (ssget "X" (list (cons 0 "INSERT")(cons 2 (strcat EAITnrx "," EAITnrx "?")) )))
  196.                ;markieren
  197.                (setq AIT-n (1- (sslength AIT-ebx)))
  198.                (while (>= AIT-n 0)
  199.                   (redraw (ssname AIT-ebx AIT-n) 3)
  200.                   (setq AIT-n (1- AIT-n))
  201.                )
  202.                (princ "\n\n")
  203.                (princ AIT-b1)(princ "           ")(princ AIT_nr)
  204.                (if (> AIT-b2 " ")(progn (princ "\n")(princ AIT-b2)))
  205.  
  206.                (EAITmsg "mb_mld1" "\n" "032" nil)
  207.                (getstring)
  208.  
  209.                ;Markierung aufheben
  210.                (setq AIT-n (1- (sslength AIT-ebx)))
  211.                (while (>= AIT-n 0)
  212.                   (redraw (ssname AIT-ebx AIT-n) 4)
  213.                   (setq AIT-n (1- AIT-n))
  214.                )
  215.             )
  216.  
  217.       )
  218.     )
  219.     (princ)
  220.   )
  221.   (princ)
  222. )
  223.  
  224. ;Definieren der Funktion zur Anzeige der richtigen Werte auf den Seiten von
  225. ;Info-lang
  226.  
  227. (defun seitenanzeige ( / )
  228.      
  229.      (setq EAIT-eigenlist (list))
  230.  
  231.      (if (> AIT-po "0")(setq EAIT-eigenlist (append (list (strcat (EAITmg "mb_mld1" "025") AIT-po)) EAIT-eigenlist)))
  232.            
  233.      (setq EAIT-eigenlist (append (list (strcat (EAITmg "mb_mld1" "026") AIT-b1)) EAIT-eigenlist))
  234.        
  235.      (if (> AIT-b2 " ")(setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat "                  " AIT-b2)))))
  236.  
  237.      (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "033") AIT_nr))))
  238.        
  239.        
  240.                (if (/= AIT-l 0.0)
  241.                    (if (/= AIT-b 0.0)
  242.                        (progn 
  243.                          (setq 
  244.                                AIT-bstr (rtos AIT-b 2 1)
  245.                                AIT-lstr (rtos AIT-l 2 1)
  246.                                AIT-ges1 (strcat AIT-lstr " / " AIT-bstr " mm") 
  247.                          )      
  248.                         (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "030") AIT-ges1))))
  249.                          )
  250.                        (progn 
  251.                           (setq
  252.                             AIT-lstr (rtos AIT-l 2 1)
  253.                           )
  254.                          (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "029") AIT-lstr " mm"))))
  255.                      )
  256.                    )
  257.                )
  258.                
  259.                (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "027") AIT-w1 ))))
  260.                
  261.                (if (> AIT-w2 " ") (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat "                  " AIT-w2)))))
  262.        
  263.                (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "031") AIT-gwstr " kg"))))
  264.    
  265.                (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "028") AIT-l1))))
  266.  
  267.  
  268.                (if (> AIT-l2 " ")(setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat "                  " AIT-l2)))))
  269.        
  270.                (if (> AIT-verb " ")(setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld5" "003") AIT-verb)))))
  271.        
  272.                (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat "                                                                       " ))))
  273.  
  274.                (setq EAIT-eigenlist (append EAIT-eigenlist (list (strcat (EAITmg "mb_mld1" "034") ))))
  275.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf1)))
  276.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf2)))
  277.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf3)))
  278.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf4)))
  279.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf5)))
  280.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf6)))
  281.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf7)))
  282.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf8)))
  283.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf9)))
  284.                (setq EAIT-eigenlist (append EAIT-eigenlist (list EAITinf10)))
  285. )
  286. (princ)
  287.